package com.lanchetech.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 主播保证金
 */
@ApiModel(value = "com-lanchetech-entity-AnchorDeposit")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class AnchorDeposit implements Serializable {
    @ApiModelProperty(value = "")
    private Long id;

    /**
     * 主播用户id
     */
    @ApiModelProperty(value = "主播用户id")
    private Long anchorUserId;

    /**
     * 保证金金额
     */
    @ApiModelProperty(value = "保证金金额")
    private BigDecimal amount;

    /**
     * 已退款金额
     */
    @ApiModelProperty(value = "已退款金额")
    private BigDecimal refund;

    /**
     * 支付订单编号
     */
    @ApiModelProperty(value = "支付订单编号")
    private String tradeNo;

    /**
     * 退款订单编号
     */
    @ApiModelProperty(value = "退款订单编号")
    private String refundNo;

    /**
     * 支付方式
     */
    @ApiModelProperty(value = "支付方式")
    private Byte payWay;

    /**
     * 支付状态 0 待支付 1 已支付 2 已退款
     */
    @ApiModelProperty(value = "支付状态 0 待支付 1 已支付 2 已退款")
    private Byte payStatus;

    /**
     * 退款状态 0 未退款 1 申请退款中 2 已全额退款 3 已部分退款 4 已拒绝退款
     */
    @ApiModelProperty(value = "退款状态 0 未退款 1 申请退款中 2 已全额退款 3 已部分退款 4 已拒绝退款")
    private Byte refundStatus;

    /**
     * 审核回复
     */
    @ApiModelProperty(value = "审核回复")
    private String remark;

    /**
     * 完成退款时间
     */
    @ApiModelProperty(value = "完成退款时间")
    private Date completeTime;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Date createdAt;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    private Date updatedAt;

    /**
     * 主播用户所在区域id
     */
    @ApiModelProperty(value = "主播用户所在区域id")
    private Long userAddressId;

    private static final long serialVersionUID = 1L;
}